错误汇总

Description

感觉人太蠢要退役了

LCT

操作不合法:setroot+access+特判

FFT

直接.0f的话会输出-0
四舍五入+0.5转int

下底分块

向下取整:n/(n/i)+1
向上取整:(n-1)/(i-1)+1

三分

整数三分:r-l>=3,再每个算一次取最值

可持久化线段树

size不能当当前节点用
tag要写永久化标记

取模

求最值的时候不能模……
取模权值至少减少一半

SAM

DP顺序->length基数排序
不考虑相同串的时候nq right初值为1,考虑相同串为0

树的重心

重心不超过两个

线段树

维护连通性:……
标记:有加和乘的修改,先传乘到权值和加的tag,再传加的tag
查询前k大和:如果二分到叶子节点返回当前k*val(注意longlong!)
权值相关并不一定只能用权值线段树

KM/匈牙利

find循环for 1 to m

树形DP

一种n^2的DP
for 0 to size[x]
for 0 to size[v]
size[x]+=size[v]

平衡树

省空间线段树写平衡树……
能写平衡树+map少写平衡树*2

long long

long long 总会爆在想不到的地方……
1e9的int日常爆long long
把所有与longlong有运算符相连的全改long long

网络流

判满流注意是否用double

不能删又要再添加一个直接丢进去判vis

单纯形

转对偶后注意n,m相反
pivot判一下eps速度有比较大的优化
%f会输出-0

结论

最小链覆盖=最长反链

LCA

if( par[i][x]!=par[i][y] )
x=par[i][x],y=par[i][y]
//妈呀我这也能写错

二维平面

想清楚两点坐标是否能交换

Hash

多取模,开大空间(然而还是日常被卡)

ACautomtion

无限制串->直接AC自动机上DP
串A在串B出现次数:反fail树上子节点

整体二分/CDQ分治

注意分治左右可能没有询问

树状数组

注意下界是0
注意求和范围可能超过(设置的)上界

计算几何

凸包先按x排序,特判x相等时候的斜率

其他

维护有插入操作的序列只能平衡树或者二分+bit,没有高级技巧

考试

1.
写暴力写暴力写暴力
暴力能发现很多东西
2.
位运算按位考虑
不能按位考虑的要么水题要么别做了
3.
暴力/部分分注意合并
4.
注意取模(模数可能和你想的不太一样)、无解输出
5.
读题读题读题
看时限,空间
观察数据特点观察数据特点观察数据特点
6.
 再三斟酌再动手!
不要随手就把写好的代码改了!
想清楚凭什么为什么可以改必须改
7.
数学题打表打表打表
可能有神奇的规律
8.
发现问题冷静几分钟再动代码
9.
注意边界和越边界的情况
10.
计数类问题日常long long
11.
不要偷懒!不要偷懒!不要偷懒!
一定要用心检查,不能自信觉得没问题
多静态调试下看有没有小问题,最后过编译!!!